遇到过两个类似的问题,在这里小结一下:

  • bootstrap的box-sizing 引起的宽度挤压 导致的内容换行
  • 自定义样式被bootstrap覆盖 导致样式错乱

一般的使用场景是:

  • 页面本身是使用bootstrap风格的
  • 页面本身是自定义样式,单独引入bootstrap风格的组件的

在上面第一种场景里面,问题相对容易解决,找到对应的样式,在自定义的样式表中重写相应的样式,并在合适的位置添加 !important 标志即可。

在自定义样式和bootstrap组件混搭的样式里面,问题相对难处理。

样式的引入要么bootstrap在前,要么自定义样式在前,但不论怎样都会存在或多或少的样式冲突问题。

冲突的来源大致如下:

  • bootstrap的box-sizing 引起的
  • bootstrap中对基本元素 如input ul li 等元素的样式定义引起的
  • bootstrap和自定义样式中的同名样式覆盖引起的

冲突的解决办法:

  • 不使用相关的组件

这样可以避免由组件引入的bootstrap样式引起的冲突问题,但结果要么重新选组件,要么自己写组件

  • 使用相关组件,处理样式问题
    • 添加样式的方法

      不引人bootstrap完整样式,使用浏览器调试工具将使用到的样式剥离出来,加入相应的命名空间

    • 删除样式的方法。

      引入完整的bootstrap样式,将引起冲突的样式进行重写或者删除。

最后更新: 2022年03月02日 03:32

原始链接: http://rawbin-.github.io/dev-3rd-libs/2015-07-18-bootstrap-style-conflict/

× 赞赏这个人~
打赏二维码